

package com.hexinfo.dmpro.script.publish.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.validation.annotation.Validated;

/**
 * 脚本发布清单
 *
 * @author Wang zhihao
 * @date 2023-09-13 18:17:51
 */
@Data
@Validated
@TableName("TD_SCRIPT_PUBLISH_LIST")
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "脚本发布清单")
public class ScriptPublishListEntity extends Model<ScriptPublishListEntity> {
    private static final long serialVersionUID = 1L;

    /**
     * 脚本发布清单ID
     */
    @TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "脚本发布清单ID")
    private String id;

    /**
     * 脚本发布任务ID
     */
    @ApiModelProperty(value = "脚本发布任务ID")
    private String scriptPublishTaskId;

    /**
     * 发布目标集群ID
     */
    @ApiModelProperty(value = "发布目标集群ID")
    private String clusterId;

    /**
     * 发布目标服务器ID
     */
    @ApiModelProperty(value = "发布目标服务器ID")
    private String serverId;

    /**
     * 发布脚本文件名
     */
    @ApiModelProperty(value = "发布脚本文件名")
    private String fileName;

    /**
     * 发布脚本文件地址
     */
    @ApiModelProperty(value = "发布脚本文件名")
    private String filePath;

    /**
     * 时间标识
     */
    @ApiModelProperty(value = "时间标识")
    private String dateFlag;

    /**
     * 发布状态
     */
    @ApiModelProperty(value = "发布状态")
    private String state;

    /**
     * 发布脚本文件类型
     */
    @ApiModelProperty(value = "发布脚本文件类型")
    private String publishType;

    /**
     * 状态标志(发布、备份、还原)
     */
    @ApiModelProperty(value = "状态标志(发布、备份、还原)")
    private String stateFlag;

    /**
     * 备份标志(Y/N)
     */
    @ApiModelProperty(value = "备份标志(Y/N)")
    private String backupFlag;

    /**
     * 发布目标集群名
     */
    @ApiModelProperty(value = "发布目标集群名")
    private String clusterName;

    /**
     * 错误信息
     */
    @ApiModelProperty(value = "错误信息")
    private String errorMessage;

    /**
     * 周期脚本备份文件路径
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "错误信息")
    private String backupFilePath;
}